

#include <iostream>
#include <iterator>

// 求 nums[start...end] 的累加和
int sumArr(int nums[], int start, int end) {
    // 退出条件，最小子问题
    if (start > end) return 0;
    // 第一步：拿到区间第一个元素值
    int num = nums[start];
    // 第二步：求解子问题，拿到 nums[start + 1...end] 的累加和
    int tmpSum = sumArr(nums, start + 1, end);
    // 第三步：得到子问题的结果
    return num + tmpSum;
}

int main() {
    int nums[] = {1, 2, 3, 4, 5};
    int res = sumArr(nums, 0, 4);
    std::cout << res << std::endl;
}